// #include<iostream>
// using namespace std;
// //static修饰的类成员称为类的静态成员
// //静态成员变量一定要在类外进行初始化

// //实现一个类，计算程序中创建出了多少个类对象。
// class Myclass
// {
//     // Myclass()
//     // :_count(0)
//     // {}

//     Myclass()
//     {
//         _count++;
//     }
//     Myclass(const Myclass& myclass)
//     {
//         _count++;
//     }
//     private:
//     //声明
//     static int _count;
// };
// int Myclass::_count = 0;
// //this指针是所有非静态成员函数的第一个变量


// //静态成员函数可以调用非静态成员函数吗？
// // -> 不可以

// //非静态成员函数可以调用类的静态成员函数吗？
// // 


// class MyClass {
//     public:
//         int a = 10;  // 默认初始化值
//         MyClass() {} // a 会被初始化为 10
//         MyClass(int val) : a(val) {} // a 会被初始化为 val
//     };

//     //如果构造函数没有显示初始化成员，就使用默认初始化的值
//     //如果构造函数显示初始化该成员，则优先使用构造函数初始化的值

//上面的例子数声明的时候给缺省值
//如果构造函数显示初始化该成员，那么该成员的值则为构造函数初始化的值